package com.zry.generator.util;

import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/**
 * @author zry
 * @create 2023-09-09 20:51
 */
public class StrategyUtils {

    /**
     * 策略配置
     *
     * @param tableNames 表名
     * @return StrategyConfig
     */
    public static StrategyConfig getBaseStrategyConfig(String... tableNames) {
        StrategyConfig strategy = new StrategyConfig();
//       数据库表映射到实体的命名策略
        strategy.setNaming(NamingStrategy.no_change);
//       数据库表字段 映射到实体的命名策略
        strategy.setColumnNaming(NamingStrategy.no_change);
        // strategy.setSuperEntityClass("Serializable");
//        lombok模型
        strategy.setEntityLombokModel(true);
//        strategy.setRestControllerStyle(true);
        // 公共父类
//        strategy.setSuperControllerClass("你自己的父类控制器,没有就不用设置!");
        // 写于父类中的公共字段
//        strategy.setSuperEntityColumns("id");
//        tableNames 转数组
        strategy.setInclude(tableNames);
        strategy.setControllerMappingHyphenStyle(true);
//        表前缀
        strategy.setTablePrefix("");
        strategy.setTablePrefix("");
        strategy.setEntityTableFieldAnnotationEnable(true);
        return strategy;
    }
}
